package com.linln.modules.activityticket.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @author : pengliang
 * @version V1.0
 * @Project: timo
 * @Package com.linln.modules.activityticket.domain
 * @Descriptio /**
 * @Project: timo
 * @Package com.linln.modules.activityticket.domain
 * @Description: TODO
 * @date Date : 2020年12月23日 15:51
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tbl_activity_ticket")
public class ActivityTicket implements Cloneable{
    /**
     * 活动券id
     */
    @TableId(value = "at_id", type = IdType.UUID)
    private String atId;
    /**
     * 活动类型id
     */
    @TableId(value = "aat_id")
    private String aatId;
    /**
     * 活动券名称
     */
    @TableField(value = "at_name")
    private String atName;

    /**
     * 服务类型id
     */
    @TableField(value = "st_id")
    private String stId;

    /**
     * 积分
     */
    @TableField(value = "at_integral")
    private Integer atIntegral;

    /**
     * 金额
     */
    @TableField(value = "at_money")
    private Double atMoney;

    /**
     * 数量
     */
    @TableField(value = "at_count")
    private Integer atCount;

    /**
     * 已领取或已购买的数量
     */
    @TableField(value = "at_received_count")
    private Integer atReceivedCount;
    /**
     * 活动开始时间
     */
    @TableField(value = "at_activity_start_date")
    private String atActivityStartDate;

    /**
     * 活动结束时间
     */
    @TableField(value = "at_activity_end_date")
    private String atActivityEndDate;

    /**
     * 有效期开始时间
     */
    @TableField(value = "at_valid_start_date", fill = FieldFill.UPDATE)
    private String atValidStartDate;

    /**
     * 有效期结束时间
     */
    @TableField(value = "at_valid_end_date", fill = FieldFill.UPDATE)
    private String atValidEndDate;

    /**
     * 购买或领取后的有效时间
     */
    @TableField(value = "at_valid_day", fill = FieldFill.UPDATE)
    private Integer atValidDay;

    /**
     * 可领取或可购买的用户类型 1所有用户 2新用户 3指定用户
     */
    @TableField(value = "at_user_type")
    private Integer atUserType;

    /**
     * 用户类型为指定用户 指定用户的手机号码
     */
    @TableField(value = "at_user_phones")
    private String atUserPhones;

    /**
     * 使用规则id
     */
    @TableField(value = "at_use_rule_id")
    private String atUseRuleId;

    /**
     * 使用规则id
     */
    @TableField(value = "at_use_rule_Name",exist = false)
    private String atUseRuleName;
    /**
     * 活动说明
     */
    @TableField(value = "at_explain")
    private String atExplain;

    public static final String COL_AT_ID = "at_id";

    public static final String COL_AAT_ID = "aat_id";

    public static final String COL_AT_NAME = "at_name";

    public static final String COL_ST_ID = "st_id";

    public static final String COL_AT_INTEGRAL = "at_integral";

    public static final String COL_AT_MONEY = "at_money";

    public static final String COL_AT_COUNT = "at_count";

    public static final String COL_AT_RECEIVED_COUNT = "at_received_count";

    public static final String COL_AT_ACTIVITY_START_DATE = "at_activity_start_date";

    public static final String COL_AT_ACTIVITY_END_DATE = "at_activity_end_date";

    public static final String COL_AT_VALID_START_DAY = "at_valid_start_day";

    public static final String COL_AT_VALID_END_DAY = "at_valid_end_day";

    public static final String COL_AT_VALID_DAY = "at_valid_day";

    public static final String COL_AT_USER_TYPE = "at_user_type";

    public static final String COL_AT_USER_PHONE = "at_user_phone";

    public static final String COL_AT_RULES_USE_ID = "at_rules_use_id";

    public static final String COL_AT_EXPLAIN = "at_explain";

    public Object clone() {
        ActivityTicket o = null;
        try {
            o = (ActivityTicket) super.clone();
        } catch (CloneNotSupportedException e) {
            System.out.println(e.toString());
        }
        return o;
    }
}
